One-Time-Programmable (OTP) memory devices provide a type of non-volatile memory (i.e., memory that retains its state across power cycles) that may be written with a desired data set and then programmed/“burned-in” to store the desired data set as Read -Only Memory (ROM). OTP memory may only be programmed with a data set one time, unlike some other forms of programmable non-volatile memory. For instance, Flash memory, Electronically Erasable Programmable Read-Only Memory (EEPROM or E2PROM), and Erasable Programmable Read-Only Memory (EPROM) are common examples of various types of programmable memory that may be erased and reprogrammed multiple times. OTP memory may be used where it is not necessary and/or it is not desirable to program the memory more than one time. Some examples of potential applications for OTP memory include: chip identification (chip ID), security applications (e.g., encryption keys and security identification/ID), memory repair, analog Integrated Circuit (IC) trimming/calibration, Application-Specific Integrated Circuit (ASIC) software/firmware code storage, and smart card applications. Security applications where each device requires a unique identification, but where it is not desirable for a user to later change the security identification are a good example where an OTP memory is preferable over a re-writeable type of non-volatile memory. Similarly, using OTP memory may be preferable for storing software/firmware code for use by an ASIC that is part of an end-device to ensure that an end user does not change the software/firmware code without the permission and/or assistance of the manufacturer of the end-device.